package com.gator.spring.framework.webmvc.servlet;

import java.io.File;
import java.util.Locale;

/**
 * @Author PABLO
 * @Date 2022/5/8 13:34
 * @Desc 视图解析器
 */
public class PABLO_ViewResolver {

    private final String DEFAULT_TEMPLATE_SUFFIX = ".html";
    //页面文件，这是一个文件夹，放置多个文件，如需要多种模板，改为File[]即可
    private File templateRootDir;


    public PABLO_ViewResolver(String templateRoot) {
        String templateRootPath = this.getClass().getClassLoader().getResource(templateRoot).getFile();
        //将该目录中所有页面保存
        templateRootDir = new File(templateRootPath);
    }

    public PABLO_View resolveViewName(String viewName, Locale locale) throws Exception{
        if(null == viewName || "".equals(viewName.trim())){return null;}
        //如以这个后缀，直接使用，如没有这个后缀，程序加上后缀
        viewName = viewName.endsWith(DEFAULT_TEMPLATE_SUFFIX) ? viewName : (viewName + DEFAULT_TEMPLATE_SUFFIX);
        File templateFile = new File((templateRootDir.getPath() + "/" + viewName).replaceAll("/+","/"));
        return new PABLO_View(templateFile);
    }
}
